Refactoring in Feature-Oriented Programming: Open Issues
نویسندگان
چکیده
Similar to refactoring, feature-oriented programming can be seen as a metaprogramming paradigm, in which programs are values and composition operators transform programs to programs. In this position paper we discuss open issues of applying refactoring in the context of feature-oriented programming. First, we elaborate on the role of refactoring in maintaining features and their implementations as well as the impact of refactoring on the relation between the problem and solution spaces. Second, we discuss issues of relating well-known refactoring formalisms to existing formal approaches used in feature-oriented programming. Third, we suggest to use refactoring semantics to upgrade and test final products of a product line.
منابع مشابه
A Systematic Aspect-Oriented Refactoring and Testing Strategy, and its Application to JHotDraw
Aspect oriented programming aims at achieving better modularization for a system’s crosscutting concerns in order to improve its key quality attributes, such as evolvability and reusability. Consequently, the adoption of aspect-oriented techniques in existing (legacy) software systems is of interest to remediate software aging. The refactoring of existing systems to employ aspectorientation wil...
متن کاملFeature Interactions and Software Derivatives
Feature Oriented Programming (FOP) merges the studies of feature modularity, generative programming, and compositional programming. We advance FOP by proposing the concept of software derivatives, which represent feature interactions. We apply the theory of software derivatives to refactoring legacy Java applications into FOP designs.
متن کاملRefactoring JHOTDRAW’s Undo concern to ASPECTJ
In this paper we discuss an approach to the aspect-oriented refactoring of the Undo concern in an open-source Java system. A number of challenges and considerations of the proposed solution are analyzed for providing useful feedback about how the employed aspect language could better support the refactoring to aspects. We also consider the unpluggability property of a concern as an estimate of ...
متن کاملRefactoring Feature Modules
In feature-oriented programming, a feature is an increment in program functionality and is implemented by a feature module. Programs are generated by composing feature modules. A generated program may be used by other client programs but occasionally must be transformed to match a particular legacy interface before it can be used. We call the mismatch of the interface of a generated program and...
متن کاملFirst International Workshop on Refactoring : Achievements, Challenges, and Effects (REFACE?03)
The research in object-oriented restructuring and refactoring continues to be very active in these days. Although commercial refactoring tools are beginning to increase in number, there are still a lots of open issues that remain to be solved. In general, there is a need for formalism and methods that address refactoring operations in a more consistent, generic, scalable way. The aim of this ha...
متن کامل